<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="36-01-手写Promise方法基础结构.js"></script>
</head>

<body>
    <script>

        // 在用promise的时候 - 怎么写的？
        let p = new Promise((resolve,reject)=>{
            // resolve('123');
            // reject('error');
            throw '错误'
        });

        console.log(p);


        // 状态未改变时：
        // [[PromiseState]]: "pending"
        // [[PromiseResult]] : undefined

        // 自定义的promise
        // function Promise(excutor){
        //     this.PromiseState = "pending",
        //     this.PromiseResult = undefined

        //     let resolve = (value)=>{
        //         // 改变状态
        //         this.PromiseState = "fulfilled";
        //         // 改变结果值
        //         this.PromiseResult = value;
        //     }
        //     let reject = (reason)=>{
        //         // 改变状态
        //         this.PromiseState = "rejected";
        //         // 改变结果值
        //         this.PromiseResult = reason;
        //     }
        //     // excutor = 执行器函数
        //     // resolve 成功的回调函数
        //     // reject 失败的回调函数
        //     try{
        //         excutor(resolve,reject);
        //     }catch(err){
        //         reject(err)
        //     }
        // }
 
        // 改变成功时
        //[[PromiseState]]: "fulfilled
        // [[PromiseResult]]: "success"

        // 改变失败时
        //[[PromiseState]]: "rejected"
        // [[PromiseResult]]: "error"
        // let p = new Promise((resolve,reject)=>{
        //     // resolve('success');
        //     reject('error');
        //     // throw "123";
        // });

        // console.log(p);


       

    </script>
</body>

</html>